package com.smedi.ismedi.inmail.core.application.service;

import com.smedi.ismedi.inmail.core.application.command.TaskRecordCommand;
import com.smedi.ismedi.inmail.core.domain.aggregatemodel.TaskRecord;

import java.util.List;

public interface TaskApplicationService {
    Boolean updateTaskStatus(TaskRecordCommand taskRecordCommand);

    boolean updateTaskStatusRegularly();

    boolean safetyCheckWeekly();

    boolean safetyCheckMonthly();

    Boolean deleteHistoryTask();

    TaskRecord addTask(TaskRecordCommand taskRecordCommand);

    Boolean deleteTaskList(List<Long> ids);

    Boolean deleteTaskListBySources(List<TaskRecordCommand> taskRecordCommands);

    TaskRecord editTask(TaskRecordCommand taskRecordCommand);

    List<TaskRecord> readTaskList(List<Long> ids);

    TaskRecord readTaskDaily(TaskRecordCommand taskRecordCommand);

    Boolean cancelTask(TaskRecordCommand taskRecordCommand);
}
